Variable speed recording method and apparatus for a magnetic tape drive

ABSTRACT

A method and apparatus for varying track recording speed to maximize host-to-tape data transfer rates is presented. Variable data transfer rates of host systems and networks are accommodated by continually adjusting the tape speed to match the tape drive to the host&#39;s actual transfer rate. jThe speed of the tape is adjusted according to both the level of data present in the tape drive data buffer and whether the current mode of the drive is write mode or read mode. In the preferred embodiment, when the tape speed is accelerated or decelerated while writing a number of data track pairs to tape, a predetermined number of dummy track pairs are first written to tape at the current speed. On the next write head phase after the speed is increased or decreased as appropriate while the read heads are over the track, a predetermined number of dummy track pairs followed by more data track pairs are written to the tape at the new speed.

RELATED PATENTS

[0001] The present invention is related to co-pending U.S. patentapplication entitled “Overscan Helical Scan Head for Non-Tracking TapSubsystems Reading at up to 1× Speed and Method for Simulation of Same”,invented by Blatchley et al., and having an internal docket number of9086/106 and a Ser. No. of ______, filed concurrently herewith on Oct.20, 1998, and co-pending U.S. patent application entitled “FineGranularity Rewrite Method and Apparatus for Data Storage Device”,invented by Zaczek, and having an internal docket number of 9086/106 anda Ser. No. of ______, filed concurrently herewith on Oct. 20, 1998, andco-pending U.S. patent application entitled “Multi-level Error Detectionand Correction Technique for Data Storage Recording Device”, invented byMcAuliffe et al., and having an internal docket number of 9086/102 and aSer. No. of ______, filed concurrently herewith on Oct. 20, 1998, all ofwhich are commonly owned and all of which are hereby incorporated byreference.

FIELD OF THE INVENTION

[0002] The present invention pertains generally to magnetic tape drives,and more particularly to a variable speed data recording/recoverymechanism and method thereof.

BACKGROUND OF THE INVENTION

[0003] Tape storage technology is routinely used for routine system backup and long-term data archiving. Various tape technologies such as DAT,DLT, and 8 mm, have been developed over recent years to meet industryneeds for higher performance and increased data storage capacity. Whilethey differ widely in format, capacity, and performance, conventionaltape storage devices rely on some form of track-following architecture.Whether the underlying recording technology is based on linearserpentine or helical scan recording, track-following architecture tapedrives attempt to read a track completely in a single pass using asingle head assembly and operating at a single fixed tape speed. Thedrive mechanism and media tolerances are tightly controlled to maintaina very precise alignment between the path traced by the heads and thewritten tracks on a tape.

[0004] Track-following architecture tape drives save some commoninherent limitations. To either write or read data, track-following tapetechnologies depend upon a constant head-to-tape speed for linearrecording or constant track pitch for helical scan recording.Accordingly, the tape drive must either receive stream data at aconstant transfer rate, or, when this does not occur, initiate astop/backhitch/start sequence.

[0005] Due to normal speed variations found in network and workstationapplications, the data transfer rate to or from the host rarely matchesthe tape drive's fixed read or write speed. Whenever a mismatch occurs,the read or write operation is suspended and the tape is repositionedbackwards to allow enough space to accelerate again to the forwardoperating speed. The time required for this repositioning cycle, knownas backhitching, increases data retrieval time.

[0006] Furthermore, backhitching not only impairs performance, but alsoseriously impacts data reliability. In operation, backhitching inducesextremely high transient forces that greatly increase tape wear andreduce the mechanical reliability of the drive.

[0007] Another limitation imposed by the track-following architecture isthe significant area of the tape required to record track-followingservo data. This servo overhead consumes physical space on the tape andlimits the amount of data that can be written onto an individual tape.

[0008] Finally, the tight tolerances required for track-followingtechnologies challenge the production margins of even the mostsophisticated manufacturing facilities. Minute differences in assemblyresult in data availability and tape interchange issues. Nominalproduction variations, sometimes accentuated by differences in handlingor environmental conditions, can make it impossible to exchange mediabetween supposedly identical units from the same manufacturer. In otherwords, data written on one tape drive may not be read on another similartape drive.

[0009] In view of the inherent limitations of track-following tapecontrol architectures and need in the tape drive industry to keep pacewith the disk drive industry in terms of performance, capacity, andcost, a need exists for a new methodology for delivering the requiredperformance and capacity while reducing costs to the end-user.

SUMMARY OF THE INVENTION

[0010] The present invention is a novel method and apparatus for varyingtrack recording speed to maximize host-to-tape data transfer rates.Variable data transfer rates of host systems and networks areaccommodated by continually adjusting the tape speed to match the tapedrive to the host's actual transfer rate. This speed-matching capabilityeliminates backhitching along with its associated delays and reliabilityimpacts.

[0011] In accordance with the invention, the speed of the tape isadjusted according to both the level of data present in the tape drivedata buffer and whether the current mode of the drive is write mode orread mode. In the preferred embodiment, when the tape speed isaccelerated or decelerated while writing a number of data track pairs totape, a predetermined number of dummy track pairs are first written totape at the current speed. On the next write head phase after the speedis increased or decreased as appropriate while the read heads are overthe track, a predetermined number of dummy track pairs followed by moredata track pairs are written to the tape at the new speed. Any resultingpreviously recorded track residue zones or overlap zones do not affectthe reliability of any data written onto the tape since they occurbetween dummy track pairs, a detectable condition in read mode.

[0012] The present invention eliminates larger data errors that occurwith traditional designs due to limitations of track following servosystem and track curvature. These errors historically flow from tensionvariations, mechanical misalignment, interchange tolerances, and tapeedge wear and damage. The tape speed control is based upon the maximumdata transfer rate to the host computer or the fastest rate the devicecan receive data on reading. For writing operations, the speed controlis based upon either the fastest rate the system will support or thespeed data is received from a host computer. The speed of a remote hostis matched for data transfer although data reading from the tape ispossible even with the tape stopped.

BRIEF DESCRIPTION OF THE DRAWING

[0013] The invention will be better understood from a reading of thefollowing detailed description taken in conjunction with the drawing inwhich like reference designators are used to designate like elements,and in which:

[0014]FIG. 1 is a block diagram of a tape drive in accordance with theinvention;

[0015]FIG. 2 is a more detailed block diagram of a tape driveimplemented in accordance with one embodiment of the present invention;

[0016]FIG. 3 is a top angular view of a tape path in one embodiment ofthe tape transport mechanism;

[0017]FIG. 4 is a side view of the tape transport mechanism of FIG. 3;

[0018]FIG. 5 is a top view of the tape transport mechanism of FIG. 3;

[0019]FIG. 6 is a side view of a portion of a magnetic tape illustratinga track pair;

[0020]FIG. 7(a) is a graphical view of tape speed plotted against tapeposition and further correlated with the content of a data buffer for anexample write operation;

[0021]FIG. 7(b) is a graphical view of tape speed plotted against tapeposition and further correlated with the content of a data buffer for anexample write operation;

[0022]FIG. 8 is a block diagram of a variable speed architecture tapetransport control system in accordance with the invention;

[0023]FIG. 9 is a flowchart of a method for preventing the writing ofthin tracks;

[0024]FIG. 10 is a timing diagram illustrating a method for thesynchronization of the write head position relative to tracks on thetape with a change in tape speed;

[0025]FIG. 11 is a flowchart of one embodiment of a method for recordingat variable tape speeds;

[0026]FIG. 12(a) is a side view of a portion of tape that illustratesrecorded track angle changes resulting from an acceleration in tapespeed;

[0027]FIG. 12(b) is a side view of a portion of tape that illustratesrecorded track angle changes resulting from deceleration in tape speed;

[0028]FIG. 13(a) is a side view of a portion of tape that illustrates aresidue zone resulting from variations in the acceleration control afteran acceleration in tape speed from a completely stopped position;

[0029]FIG. 13(b) is a side view of a portion of tape that illustrates anoverlap zone resulting from variations in the acceleration control afteran acceleration in tape speed from a completely stopped position;

[0030]FIG. 14 is a timing diagram illustrating the detection of speederrors encountered while the drive is in write mode;

[0031]FIG. 15 is a timing diagram illustrating the detection of trackpitch errors encountered while the drive is in write mode;

[0032]FIG. 16 is a flowchart of one embodiment of a method for detectingconditions for rewriting a track;

[0033]FIG. 17 is a flowchart illustrating one embodiment of a method foradjusting the tape speed during read mode;

[0034]FIG. 18(a) is a side view of a portion of tape that illustrateshow data is read from a tape having track angle changes resulting from aacceleration in tape speed;

[0035]FIG. 18(b) is a side view of a portion of tape that illustrateshow data is read from a tape having track angle changes resulting from adeceleration in tape speed;

[0036]FIG. 19 is a flowchart of the operation of a reel tensioncontroller in accordance with the invention; and

[0037]FIG. 20 is a flowchart of the calibration method used by reeltension controller.

DETAILED DESCRIPTION

[0038] A variable speed recording mechanism and method for a tape drivefor supporting variable data transfer rates from a host system isdescribed in detail hereinafter.

[0039]FIG. 1 is a block diagram illustrating the functionality of a tapedrive in accordance with the invention. Tape controller 10 manages aplurality of functionally separated blocks, including a host computerinterface 12, a tape drive interface 14 which electromechanicallycooperates with motors 15 for performing various drive functions, andread/write circuitry 16 which response to commands from the controller10 to perform reading and writing functions relative to the tape throughhead assemblies 18. Interaction with the user is through display 20 andmanual input 21. Typically, tape controller 10 is an applicationspecific integrated circuit (ASIC) that includes a microprocessor 13.

[0040]FIG. 2 is a more detailed block diagram of a tape driveimplemented in accordance with one embodiment of the present invention.In this embodiment, host computer interface 12 is implemented in theform of a Small Computer System Interface (SCSI), which includes a SCSIinterface integrated circuit 25 to provide an interface between hostinterface microcontroller 30 and SCSI bus connector 26. Microcontroller30 provides a control mechanism to support data and command transfers onthe SCSI bus 11 according to the standard SCSI interface protocol.Microcontroller 30 performs high-level tape control functions via tapecontroller 10. Host interface microcontroller 30 communicates with tapecontroller 10 over bus 33. Program memory 35 stores a control programfor host interface microcontroller 30, which is either an electricallyerasable and reprogrammable programmable memory (Flash EPROM) or astatic random access memory (SRAM).

[0041] Head assembly 18 includes the recording and check-after-write(CAW) heads 40. These are four ferrite heads mounted on a rotor assembly40. The recording heads convert the input electrical signals into amagnetic near-field equivalent that is impressed onto the magnetic tape.All four heads are useable to read data from the tape. In read mode, theimpressed magnetic field from the tape is converted by the head andoutput as an equivalent electrical signal. The CAW heads are locatedbehind the recording heads and are always used to read data from thetape, but during write mode are used exclusively to verify that thewritten data is reliably readable.

[0042] Motors 15 include drum motor 44, capstan motor 45, reel motor 46,and load/mode motor 48. Drum motor 44 drives the rotating heads assembly40 that scans the tape surface in a helical pattern. Capstan motor 45drives the capstan, which is responsible for regulating tape speed. Thecapstan motor 45 is bidirectional and can drive the tape in the forwardor reverse direction. Reel motor 46 drives the supply and take-up reelsof the tape cartridge and can likewise drive the tape in eitherdirection. The load/mode motor 48 provides power to a mechanicalmechanism that loads and unloads the tape cartridge from the tapemechanism. It is also used to select the mode of operation, i.e.:forward, reverse, fast forward and rewind. Tape controller 10 controlseach of drum motor 44, capstan motor 45, and reel motor 46 viarespective 3-phase driver circuits 71, 72, and 73. Load/mode motor 48 iscontrolled by tape controller via motor driver circuit 74. Motor drivers71, 72, 73, 74 are conventional voltage/current translation interfacesthat are external to digital ASIC 62.

[0043] Tape drive interface 14 includes sensors for determining theposition and status of a tape cartridge in the cartridge mechanism.Load/mode motor position sensor 50 provides feedback on the position ofthe mode control mechanism. This is used by tape controller 10 tocontrol the operation of the mode motor 48. Reel tachometers 51 providespeed feedback information for each reel. This is used by tapecontroller 10 to control reel speed. Reel voltage measurements aremonitored and used to control the tape tension between the capstan andtakeup reel during forward movement of the tape and between the capstanand supply reel during backward movement of the tape. Capstan tachometer52 can typically be a single-phase tachometer that provides speedinformation about the capstan. It is used by tape controller 10 toverify proper direction and speed control of the capstan motor 45.End-of-tape (EOT) and beginning-of-tape (BOT) indicators are sensed byoptical sensors 54 when the transparent tape leader passes in front ofthose sensors. This information is used by tape controller 10 to stopthe reel motor(s) 46 and capstan motor 45.

[0044] Cartridge switches 55 interact with specific locations of thetape cartridge to provide tape controller 10 with information about thetape cartridge such as whether a tape cartridge is inserted in thedrive, the type of tape (data vs. cleaning), the length of the tape, andits write protection status.

[0045] Read/write circuitry 16 manages the conversion of digital datafrom tape controller 10 into analog signals that are appropriate for therecording heads 40 and vice versa. It includes write driver 56 whichconvert the digital data stream from tape controller 10 into a largeenough current to drive the recording heads 40. Equalization circuit 59is a series of filters designed to reduce noise and condition the signalout from the read heads 40. An analog application specific integratedcircuit (ASIC) 60 is responsible for creating a clock and data streamfrom the serial data stream received from the read heads 40 after beingpassed through equalization circuit 59.

[0046] Tape controller 10 interfaces with a host system via SCSIcontroller 25, and with the tape drive via the tape drive interface 14and motors 15. Controller 10 employs a digital ASIC 62 for a variety offunctions including among others speed and direction control of allmotors, data formatting and unformatting, and generation and use oferror correction. A static random access memory (SRAM) 64 provides alarge memory that is used as a data buffer to temporarily store databefore being transferred from the host onto tape, or before beingtransferred from tape to the host. Another memory 65 is a relativelysmall SRAM memory used to store table and error correction redundantterms. It is also used to temporarily buffer small amounts of data fromthe data stream between the tape controller 10 and the read/writecircuitry 16.

[0047] A small, non-volatile random access memory (NVRAM) 66 storespersonality information about the drive such as serial number and drivecalibration parameters.

[0048] The tape drive in the illustrative embodiment utilizes an 8 mmtape cartridge that has tracks recorded thereon in a helical scanpattern. It is, for example, intended to store 33 gigabytes of data withrecovery speeds of up to 3 megabytes per second and a 5.25 inch formfactor. It relies upon a variable speed architecture wherein servocontrols are applied to tape speed and position during read operations.The variable speed architecture permits excellent performance under allconditions and reduces wear of heads, mechanisms, and media byeliminating reposition cycles characteristic of streaming tape drives.It is also relatively simple and low cost to design.

[0049]FIG. 3 is a top angular view and FIG. 4 is a side view of the tapepath resulting from one arrangement of motors including a pair of singlereel drive motors 81 and 82, capstan motor 83, drum motor 84, and drum85. Drum 85 cooperates with capstan 91 and idler rollers 92 and 93 toretain the tape 80 in an arc of 196 degrees relative to thecircumferential periphery of drum 85.

[0050] Capstan 91 is operated by capstan motor 83 so as to modify theposition of tape 80 relative to the path of head 96, 97, 98, 99 rotatingon drum 85 to maximize the rate at which packets are read from tape 80.In other words, the relationship between tape position (or trackposition) and the path of the read/write heads is adjustable to alterthe rate at which data is read from the tape. In the illustrativeembodiment, data is read over a continuously variable transfer rate ofup to a maximum of over 100% of the rate at which data is nominallyrecorded.

[0051] Data is written at integer fractions of the nominal recordingdata rate with a “pause” mode available for use during both read andwrite operations, discussed hereinafter with respect to FIGS. 7(a) and7(b). Pause mode is useful when data over-run or data under-runconditions occur.

[0052] Data is written in tracks in an alternate azimuth, helicalpattern by heads 96-99 on drum rotor 85 with an alternate azimuthtechnique. That is, a pair of alternate azimuth data tracks are recordedsimultaneously at an angle across the tape by a pair alternate azimuthadjacent write heads. A tape speed servo controller (not shown)maintains the period of drum rotor 85 and speed of tape 80. Data ischecked half a drum rotation after writing by a pair of alternateazimuth CAW heads located 180 degrees relative to the pair of writeheads, and offending tracks re-written “on the fly” as required.Accordingly, for each rotation of drum rotor 85, two tracks are writtenand a write check of those two tracks is performed.

[0053] Data is read with all four heads 96-99 using the alternateazimuth reading technique. The tape speed servo controller, discussed indetail hereinafter, maintains the period of drum rotor 85 and speed oftape 80. The tape 80 advances a maximum of one track per rotation anderror correction is effected after scanning the track with bothlike-azimuth heads.

[0054]FIG. 5 is a top view of the tape drive configuration of FIGS. 3and 4, illustrating the path followed by tape 80. Tape 80 circulatesbetween supply reel 88 and take-up reel 89 after passing over a seriesof idler rollers 94 a, 94 b, 94 c, 94 d, 94 e, and 94 f, a biasedtension arm and roller 95, and between capstan 91 and pinch roller 92.Drum 85 rotates so as to magnetically exchange data between heads 96-99(see FIG. 3) mounted thereon and tape 80 as it passes over the peripheryof the drum 85.

[0055]FIG. 6 is a side view of a portion of a magnetic tape 136illustrating the angle and position of a pair of typical data tracks 131and 132 written on it. While only two tracks 131 and 132 are shown, itis understood that many more tracks can precede and/or follow these twoexamples. Each data track 131, 132 is similar and includes a trackpacket 133, a series of data packets 134, and an error correction packet135. In the illustrative embodiment, data packets 134 includeapproximately four hundred packets of data comprising up to sixty-fouruser bytes of data.

[0056] The variable speed architecture of the invention is well suitedfor high density TPI (tracks per inch) recording. Importantly, notracking servo is required. This improves the data capacity of the tapecartridge since the portion of the tape traditionally occupied by servoinformation is made available for data instead. The elimination of thetracking servo also decreases the number components and assemblies ofthe system, thereby reducing overall cost and lowering power demand.Advantages realized further include operation over a wide range ofmechanical component and alignment tolerances. Improved data reliabilityis obtained under varying conditions of data interchange, temperature,humidity, shock, and vibration.

[0057] A WRITE operation for a variable speed architecture tape driveimplemented in accordance with the invention is illustrated in FIG.7(a). The tape speed is plotted against tape position and furthercorrelated with the content of a data buffer 100, such as 64 in FIG. 2,whose various conditions are presented along the upper portion of theplot. When buffer 100 is loaded with data up to the “F” location, thisindicates that buffer 100 is full, whereas when the data level is allthe way down to the “E” location, this indicates that buffer 100 isempty. The proportional buffer contents between those two boundarystates are shown by the shaded portion of each buffer. Thus, while thesystem might employ an array of storage locations to perform the buffer100 function, the various locations shown in FIGS. 7(a) and 7(b) reflectthe contents of the buffer 100 at particular points in time.

[0058] In the example WRITE operation of FIG. 7(a), it is assumed thatthe drive is initially moving at full speed and that the data buffer 100is fully loaded at 101. As buffer 100 approaches empty, the speed of thedrive is reduced, and vice versa, up to the point shown at 106 where thebuffer is empty. At that time, a Pause Mode is entered wherein the tapespeed is reduced to zero as at time point 110. However, receipt of anydata into buffer 100 causes the driver to resume motion and ultimatelyregain full speed as at the end of the FIG. 7(a) plot.

[0059] As buffer 100 attains full status, the tape speed is shiftedupwards until full speed is reached. Data draining of buffer 100 resultsin a slowing of the tape speed whereas detection of a filling buffer 100results in a shift to a faster tape speed. If buffer 100 is empty, thetape is stopped as at 110 and the Pause Mode is entered. The next WRITEoperation received from the host system is started from the paused tapeposition, but no repositioning of the tape occurs.

[0060] A READ operation for a variable speed architecture tape driveimplemented in accordance with the invention is illustrated in FIG.7(b). In this example, buffer 100 is shown filling at 111, 112 and 113,with the tape speed approaching a maximum of full speed. From an emptystate, maximum acceleration is employed. The tape velocity is reduced asdata buffer 100 fills. That is, as data buffer 100 approaches a fullstate, the tape speed is reduced to prevent data losses. When buffer 100is completely filled as at 118, the tape is stopped and the Pause Modeis entered as shown at 120. The next read operation is commenced fromposition 120 without the need for any tape repositioning.

[0061]FIG. 8 is a block diagram of a variable speed architecture tapetransport system 300 in accordance with the invention. In system 300unformatted data 334 is entered into data buffer 302 during write modeand is formatted by data formatter 304. The formatted data 332 isrecorded onto a magnetic tape by write channel circuitry 306. The headwidths 317 and head placement 318 are selected to optimize the checkafter write and overscan performance. Adjustable head timing 316 allowsthe drive to automatically coordinate the time the read heads areactivated with the physical position of the data written on the tape.

[0062] Radius calculator 330 continuously calculates the supply andtakeup reel radii as tape moves between the supply real and the takeupreel. This calculation is based upon the capstan and reel tachs 331.

[0063] Data is removed from buffer 302 as it is written onto tape, and adata buffer level 303 is adjusted to reflect the current amount of datain the buffer relative to the maximum buffer capacity.

[0064] During read mode, read channel circuitry 306 recovers formatteddata 332 from tape, which is deformatted by deformatter 304 and enteredinto data buffer 302. Unformatted data 234 is added to buffer 302 as itis read from tape and is removed from buffer 302 as it retrieved fortransmission to a host system. Again, the data buffer level 303 isadjusted to reflect the current amount of data in the buffer relative tothe maximum buffer capacity.

[0065] Controller 310 monitors the buffer level 303 to determine theappropriate transport speed (or position) of the tape. The appropriatespeed (or position) of the tape may be different between read mode andwrite mode for a given buffer level 303, as described in conjunctionwith FIGS. 7(a) and 7(b). In either mode, however, controller 310determines whether an adjustment of the current write speed is requiredbased on the current buffer level 303. If the tape speed requiresadjusting, controller 310 determines a new tape speed 311 based on thecurrent buffer level 303. A head timing controller 314 synchronizes thechange in tape speed with the detection of a beginning of a track on thetape. The details of the head timing controller 314 are describedhereinafter. Tape speed controller 312 changes the speed (or position)of the tape in accordance with the new write speed 311 and a speedchange enable signal 315 generated by head timing controller 314.

[0066] Reel tension controller 326 controls the tape tension between thecapstan and takeup reel during forward tape movement, and between thecapstan and supply reel during backwards tape movement. Duringmanufacturing, the values of reel amplifier voltage 328 for the correcttensions are stored in non-volatile RAM 66. When running, the reeltension controller 326 outputs a pulse width modulation (PWM) signal tothe reel amplifier 72. The PWM signal changes based upon the radii 329and the measured amplifier voltage 328. An illustrative embodiment ofthe method implemented by reel tension controller 326 is illustrated inFIG. 19, and FIG. 20 is a flowchart of the calibration method used byreel tension controller. This system maintains the correct tension asthe radii vary and as the drive temperature or power supply voltagesfluctuate. To accomplish this, other tape devices have used activetension sensors and dual reel motors or slip clutches in the supply andtakeup hubs. The active tension sensors and dual reel motors addedsignificant cost and complexity to the tape drive. The slip clutchesprovided inconsistent tension from unit to unit and over the life of thetape drive.

[0067] The position on tape, as indicated by tapecount 321 is calculatedby physical position identifier 322 using the reel tachs 324. Thetapecount 321 is defined as the sum of the supply reel and takeup reeltachs. As tape moves from the supply reel to the takeup reel, the countvalue increases. As tape moves from the takeup reel onto the supplyreel, the count value decreases. Tapecount 321 is set to zero at thebeginning of tape.

[0068] Highspeed tape repositioning is accomplished with tape positioncontroller 320. The reel motor is used to reposition the tape to atarget position 325 provided by the read/write controller 310.

[0069] A thin track could be written if the tape moves too slowly (i.e.,reducing the track spacing). The condition of moving too slowly isdetected as a speed error and/or position error. This detected errorcauses the track to be rewritten. Since rewriting a track reduces theamount of data that can be written on a tape, the number of rewrites areattempted to be minimizes. FIG. 9 is a flowchart of a method to preventwriting thin tracks. The track spacing error is calculated everypredetermined interval (e.g., 1 msec) in step 500. A reference positionis calculated based upon the desired tape speed in step 501. In step 502the current tape spacing is inferred from the measured capstan tach 502.These two terms are used to form the track spacing error 503. If thetrack spacing is too large, as determined in step 504, it means that thetape has moved too quickly. If the spacing is too small, the tape hasmoved too slowly. The natural response is to slow down when the tape ismoving too quickly. To avoid this, when the position is further than thetarget 505, the reference position is set in step 505 to the measuredposition. The new position error is then set to zero in step 506. Theposition error is used in step 507 by the read/write controller 310 asone parameter for determining the new read/write speed 311.

[0070]FIG. 10 is a timing diagram illustrating the synchronization ofthe write head position relative to tracks on the tape with a change intape speed, as performed by head timing controller 314. In thisembodiment, head timing controller 314 receives a head type signalWRITE_HEAD that is logically high when the two recording, or “write”,heads are positioned over the tape and logically low when the two CAWheads are positioned over the tape. Head timing controller 314 generatesa SYNC pulse a predetermined time)(t1) after the rising edge ofWRITE_HEAD. This triggers the output of speed change enable signal 315SPEED_CHANGE_EN pulse a predetermined time)(t2) later, during the phasein which the read heads are positioned over the tape. Tape speedcontroller 312 adjusts the speed (or position) of the tape to the newspeed 311 in synchronization with the SPEED_CHANGE_EN 315 pulse. Theallowable difference in adjusted speed is limited to that which resultsin the final desired speed being achieved within the phase)(t3) in whichthe read head is over the tape. This ensures that the tape is moving ata constant speed during the time the track is being recorded (i.e.,while the write heads are over the track) such that unintentional trackcurvature does not result. FIG. 10 illustrates an example of the actualtape velocity for a deceleration example, labeled TAPE_VELOCITY_1, andan acceleration example, labeled TAPE_VELOCITY_2. In both thedeceleration and acceleration examples, the actual initial speed andactual final speed may represent different values anywhere between themaximum and minimum speeds in order to accommodate various speed changetrajectories.

[0071]FIG. 11 is a flowchart of the method employed by the variablespeed architecture of the tape drive while it is in write mode.According to the method, variable speed recording is begun in step 400when the drive enters write mode. An initial tape speed is selected instep 402 based on the amount of data present in the data buffer 302. Thedata formatter 304 is configured in step 404 to write a predeterminednumber of dummy tracks before changing speed. The head timing controller314 is configured for a speed change in step 406. The dummy tracks arepoised to be written to tape via the write channel circuitry 306 in step408. Meanwhile, head timing controller 314 monitors the position of theheads in step 410, generating speed change enable signal SPEED_CHANGE_ENin synchronization with the beginning of the phase in which the readheads are positioned over the tape. Tape speed controller 312 changesthe speed of the tape to the new speed in step 412. Meanwhile, dataformatter 304 is configured to write a programmable number of datatracks in step 414, which are written to tape the next time the writeheads are positioned over the track in step 416, followed by writingactual data tracks in step 418 containing data (formatted into datatracks) from the buffer 302.

[0072] FIGS. 12(a) and 12(b) illustrate recorded track angle changesresulting from a respective deceleration and acceleration in tape speed.When the tape speed is decelerated while writing a number of data trackpairs 481 to tape 480, as shown in FIG. 12(a), a predetermined number ofdummy track pairs 482 is first written to tape at the current speed. Thespeed is decreased while the read heads are over the track. On the nextwrite head phase, a predetermined number of dummy track pairs 483followed by more data track pairs 484 are written to the tape at the newslower speed. As shown, this results in a “residue” zone 485 on tape 480wherein data is indeterminate. The residue zone 485 does not affect thereliability of any data written onto the tape, however, since no datatracks overlap.

[0073] When the tape speed is accelerated while writing a number of datatrack pairs 486 to tape 480, as shown in FIG. 12(b), a predeterminednumber of dummy track pairs 487 are first written to tape at the currentspeed. The speed is increased while the read heads are over the track.On the next write head phase, a predetermined number of dummy trackpairs 488 followed by more data track pairs 489 are written to the tapeat the new faster speed. As shown, this results in an overlap zone 490between dummy track pair 487 and dummy track pairs 488. The overlap zone490 does not affect the reliability of any data written onto the tape,however, since it occurs only between dummy track pairs 488 and 489.

[0074] If the tape speed is accelerated from a completely stoppedposition, for example after resuming from a paused mode as at 110 inFIG. 7(a), variations in the acceleration control may result in eitherresidue zones 492 or overlap zones 494 as illustrated respectively inFIGS. 13(a) and 13(b). However, dummy track pairs are again written bothbefore acceleration and after acceleration just as during a normalacceleration operation, so these regions do not affect the reliabilityof the data written to tape from the paused mode.

[0075]FIG. 14 is a timing diagram illustrating the detection of speederrors encountered during the read-back-check of the data by the tapespeed controller 312 while the drive is in write mode. In this example,the capstan signal WRITE_HEAD indicates the position of the write headover the tape. A maximum speed threshold and minimum speed threshold areprogrammable and set to values which, if respectively exceeded or notmet, could possibly lead to a residue zone or overlap region regardlessof the type of track being written. This is undesirable if the tracksbeing written are actual data tracks. Accordingly, in the illustrativeembodiment, if the tape speed TAPE_VELOCITY does not remain between thethresholds MAX_SPEED and MIN_SPEED, a respective threshold violationsignal OVER_MAX_SPEED or UNDER_MIN_SPEED is asserted, which results inthe assertion of check-after-write fail signal FAILED_CAW 313.

[0076] Check-after-write fail signal FAILED_CAW 313 may also be raiseddue to unacceptable tape position control. FIG. 15 illustrates theresponse of tape speed controller 312 to a violation of a positioncontrol failure. In this example, a measure of the track spacing istaken and compared to a programmable maximum spacing threshold MAX_PITCHand minimum spacing threshold MIN_PITCH. If the measured track pitch isbelow the minimum spacing threshold MIN_PITCH, error signalUNDER_MIN_PITCH is signaled; if the measured track pitch is beyond themaximum spacing threshold MAX_PITCH, error signal OVER_MAX_PITCH issignaled. The generation of either error signal UNDER_MIN_PITCH orOVER_MAX_PITCH asserts the check-after-write fail signal FAILED_CAW 313,which causes the offending track to be rewritten.

[0077]FIG. 16 is a flowchart of the method used by tape speed controller312 to detect conditions for rewriting a track. When the drive is inwrite mode, the capstan tachometer signal WRITE_HEAD is monitored instep 442 until it indicates that the write heads are positioned at thebeginning of a new track. Once the write heads are positioned over a newtrack, the drive begins to measure the track pitch in step 444. The tapespeed is monitored in step 446 and compared in step 448 to the maximumand minimum speed thresholds MAX_SPEED and MIN_SPEED as shown in FIG. 14to detect any threshold violations. If a threshold violation is detectedthe particular speed threshold violation is denoted in step 450. In step452, the position of the tape is checked to determine whether the writeheads have reached the end of the new track. If not, steps 446, 448, and450 (if appropriate) are repeated. Once the write heads have reached theend of the new track in step 454, the tape speed signal is no longermonitored. The position of the write heads is continuously monitored instep 456 until the beginning of the next track is detected, at whichtime the track pitch is calculated in step 458. The track pitch iscompared in step 460 to the maximum and minimum allowed track pitchesMAX_PITCH and MIN_PITCH to detect any pitch threshold violations. If atrack pitch threshold violation is detected, the particular positionthreshold violation is denoted in step 462. If a speed or positionthreshold violation as determined to have occurred during step 464, thecheck-after-write fail signal FAILED_CAW is asserted in step 466 toindicate that the check-after-write of the previous track failed. Theprevious track is then rewritten in step 468.

[0078]FIG. 17 is a flowchart illustrating the method employed by thevariable speed architecture of the tape drive while it is in read mode.According to the method, variable speed reading is begun in step 420when the drive enters read mode. An initial tape speed is selected instep 422 according to the amount of data present in the data buffer 302.The head timing controller 314 is configured for a speed change in step424. Head timing controller 314 monitors the position of the heads instep 410, generating speed change enable signal SPEED_CHANGE_EN insynchronization with read heads positioned over the tape. This triggerstape speed controller 312 to change the speed of the tape to the newspeed. Read channel circuitry 306 reads data from the tape, which isdeformatted by deformatter 304 and put into data buffer 322 in step 426.The buffer level 303 indicating the current amount of data in buffer 322relative to its maximum capacity is monitored in step 428. If the bufferlevel 303 indicates that data buffer 302 is nearly full (relative to apredetermined threshold), controller 310 calculates a slower read speedin step 430, and steps 424, 426, and 428 are repeated. If the bufferlevel 303 indicates that data buffer 302 is nearly empty (relative to apredetermined threshold) in step 432, controller 310 calculates a fasterread speed in step 434 and steps 424-428 are repeated. If the bufferlevel appears to remain steady (indicating that the data transfer rateis sustained at a streaming rate), no adjustment in speed is made.

[0079] It will be appreciated by those skilled in the art that anynumber of buffer level thresholds may be set which result in a tapespeed change more or less often. Furthermore, each buffer levelthreshold may be set at any level between those representing a full andempty buffer, preferably at levels determined to optimize the matchingof the tape speed to that of the host system.

[0080] FIGS. 18(a) and 18(b) illustrate how data is read from a tapehaving track angle changes resulting from a respective deceleration andacceleration in tape speed. When the tape 480 contains a residue zone475 resulting from a deceleration in tape speed during write mode, asshown in FIG. 18(a), portions of opposite-azimuth dummy track pairs 471and 472 are read first by leading write head A and then by trailingwrite head B one revolution of the drum later. If the angle of the headswith respect to the tracks 471-474 do not match, any given head A or Bwill not read an entire track during a first pass. Instead, asillustrated in the example of FIG. 18(a), at position P1 leading head Acan read portions of dummy A-azimuth track 472 and any old A-azimuthdata found in the residue zone 475, while trailing head B can readportions of dummy B-azimuth track 471. At position P1 any A-azimuth datafrom dummy track 471 is not read by head A and any A-azimuth data fromdummy track 472 is not read by head B due to the opposite azimuths ofthe tracks and the ability of the heads to detect data written along theappropriate azimuth. At position P2 head A is completely aligned overdummy B-azimuth track 473 and head B is completely aligned over dummyA-azimuth track 474, and hence neither head A nor B detect any data. Atposition P3 head A is positioned over a portion of dummy A-azimuth track474 and a portion of dummy B-azimuth track 473, and hence detects onlyA-azimuth data from track 474 indicating that it is a dummy track. HeadB is positioned over a portion of dummy B-azimuth track 473, a portionof residue zone 475, and a portion of dummy A-azimuth track 472, andhence detects any B-azimuth data from track 473 indicating that it is adummy track, and any old B-azimuth data present in residue zone 475 leftover from a previous recording. Data formatter 304 must therefore keeptrack of, and discard, any detected data found between two adjacentdummy tracks.

[0081] When the tape 480 contains an overlap region resulting from anacceleration in tape speed during write mode, as shown in FIG. 18(b),the use of dummy tracks again ensures reliable data recovery as follows.Portions of opposite-azimuth dummy track pairs are read first by leadingwrite head A and then by trailing write head B one revolution of thedrum later. If the angle of the heads with respect to the tracks 476-479do not match, any given head A or B will not read an entire track duringa first pass. Instead, as illustrated in the example of FIG. 18(b), atposition P4 leading head A can read portions of dummy A-azimuth track477 and dummy A-azimuth track 479, while trailing head B can readportions of dummy B-azimuth track 476. At position P4 any A-azimuth datafrom dummy track 478 is not read by head A and any A-azimuth data fromdummy track 477 is not read by head B due to the opposite azimuths ofthe tracks. At position P5 head A is completely aligned over dummyA-azimuth track 479 and head B is completely aligned over dummyA-azimuth track 478, and hence heads A and B both detect correct data.At position P6 head A is positioned over a portion of dummy A-azimuthtrack 479, and hence detects A-azimuth data from track 479 indicatingthat it is a dummy track. Head B is positioned over a portion of dummyA-azimuth track 479, a portion of dummy B-azimuth track 478, and aportion of dummy A-azimuth track 477, and hence detects only B-azimuthdata from track 478 indicating that it is a dummy track. Accordingly,because all detected data during this portion of the tape is a dummytrack of one azimuth or the other, and hence not entered into the databuffer, the use of dummy tracks immediately before and after changingtape speeds during write mode eliminates any data recovery problems whenthe same portion of the tape is read during read mode.

[0082] It will be appreciated from the above description of theinvention that the dynamic variable tape speed control, in combinationwith the ready mode, dramatically boost performance during read andwrite operations, when the host system cannot achieve or maintain thetape drive's rated throughput. The variable speed architecture producesa match of the average data transfer rate of a host computer andeliminates tape repositioning cycles. The read data rate is continuouslyvariable. The architecture of the invention operates to slow the tapespeed to enhance read accuracy. This is particularly valuable wheninterchanging data tapes amongst similar tape drives. Accordingly, backup and restore times are accelerated through the elimination ofbackhitching.

[0083] Although the invention has been described in terms of theillustrative embodiments, it will be appreciated by those skilled in theart that various changes and modifications may be made to theillustrative embodiments without departing from the spirit or scope ofthe invention. It is intended that the scope of the invention not belimited in any way to the illustrative embodiment shown and describedbut that the invention be limited only by the claims appended hereto.

What is claimed is:
 1. A method for recording data at variable speedsonto a magnetic tape that is being transported across a rotating drum ata current tape transport speed, said rotating drum having a recordinghead disposed thereon to pass over said tape once per single rotation ofsaid drum, said data being received from a host system and temporarilystored in a data buffer, said method comprising: monitoring a currentbuffer level of said data buffer, said current buffer level indicatingan amount of data currently present in said data buffer; determining anew tape transport speed based on said current buffer level; andadjusting said current tape transport speed to said new tape transportspeed; wherein said current tape transport speed and said new tapetransport speed are each non-zero.
 2. A method in accordance with claim1, comprising: recording a track onto said magnetic tape at said newtape transport speed.
 3. A method in accordance with claim 2, wherein:said recording step comprises: recording a first set of tracks onto saidtape at said current tape transport speed prior to adjusting saidcurrent tape transport speed to said new tape transport speed; andrecording a second set of tracks onto said tape after said current tapetransport speed has been adjusted to said new tape transport speed.
 4. Amethod in accordance with claim 3, wherein: said first set of trackscomprises a first data track, said first data track comprising a firstset of said data in said data buffer that has been formatted into saidfirst data track; and said second set of tracks comprises a second datatrack, said second data track comprising a second set of said data insaid data buffer that has been formatted into said second data track. 5.A method in accordance with claim 3, wherein: said first set of trackscomprises a first predetermined number of dummy tracks; and said secondset of tracks comprises a second predetermined number of dummy tracks.6. A method in accordance with claim 3, wherein: said first set oftracks comprises a first data track followed by a first predeterminednumber of dummy tracks, said first data track comprising a first set ofdata in said data buffer that has been formatted into said first datatrack; and said second set of tracks comprises a second data trackfollowed by a second predetermined number of dummy tracks, said seconddata track comprising a second set of data in said data buffer that hasbeen formatted into said second data track.
 7. A method in accordancewith claim 1, wherein said new tape transport speed is slower than saidcurrent tape transport speed.
 8. A method in accordance with claim 1,wherein: said new tape transport speed is faster than said current tapetransport speed.
 9. A method in accordance with claim 2, comprising:measuring said current tape transport speed; determining whether saidcurrent tape transport speed is outside a speed control limit; and ifsaid current tape transport speed is outside said speed control limit,performing the steps of: setting said new tape transport speed to aspeed within said speed control limit; adjusting said current tapetransport speed to said new tape transport speed; and re-recording saidtrack onto said magnetic tape at said new tape transport speed.
 10. Amethod in accordance with claim 2, comprising: measuring a track pitch,said track pitch comprising the distance between said recorded track andan immediately-previous previously-recorded track; determining whethersaid track pitch is outside a track pitch control limit; and if saidtrack pitch is outside said track pitch control limit, performing thesteps of: setting said new tape transport speed to a speed that willplace a next measured track pitch within said track pitch control limit;adjusting said current tape transport speed to said new tape transportspeed; and re-recording said track onto said magnetic tape at said newtape transport speed.
 11. A method in accordance with claim 1, wherein:said adjusting step comprises: commencing said speed adjustment whensaid rotating drum is positioned such that said recording head is notpositioned over said tape; and completing said speed adjustment beforesaid recording head becomes positioned over said tape.
 12. A method inaccordance with claim 2, comprising: reading back said recorded track atsaid new tape transport speed immediately after said recorded track isrecorded onto said magnetic tape.
 13. A method in accordance with claim12, comprising: re-recording said track if said recorded track isunreadable.
 14. A method in accordance with claim 1, comprising: readinga track from said magnetic tape at said new speed.
 15. A method forrecording data at variable speeds onto a magnetic tape that is beingtransported across a rotating drum at a first tape transport speed, saidrotating drum having a recording head disposed thereon to pass over saidtape once per single rotation of said drum, said data being receivedfrom a host system and temporarily stored in a data buffer, said methodcomprising: halting tape transport such that a current tape transportspeed is reduced to zero; monitoring a current buffer level of said databuffer, said current buffer level indicating an amount of data currentlypresent in said data buffer; determining a second tape transport speedbased on said current buffer level, said second tape transport speedbeing non-zero; and adjusting said current tape transport speed fromzero to said second tape transport speed to commence tape transport. 16.A method in accordance with claim 15, comprising: recording a track ontosaid magnetic tape at said second tape transport speed.
 17. A method inaccordance with claim 16, wherein: said recording step comprises:recording a first set of tracks onto said tape at said first tapetransport speed prior to adjusting said current tape transport speed tosaid second tape transport speed; and recording a second set of tracksonto said tape after said current tape transport speed has been adjustedto said second tape transport speed.
 18. A method in accordance withclaim 17, wherein: said first set of tracks comprises a first datatrack, said first data track comprising a first set of said data in saiddata buffer that has been formatted into said first data track; and saidsecond set of tracks comprises a second data track, said second datatrack comprising a second set of said data in said data buffer that hasbeen formatted into said second data track.
 19. A method in accordancewith claim 17, wherein: said first set of tracks comprises a firstpredetermined number of dummy tracks; and said second set of trackscomprises a second predetermined number of dummy tracks.
 20. A method inaccordance with claim 17, wherein: said first set of tracks comprises afirst data track followed by a first predetermined number of dummytracks, said first data track comprising a first set of data in saiddata buffer that has been formatted into said first data track; and saidsecond set of tracks comprises a second data track followed by a secondpredetermined number of dummy tracks, said second data track comprisinga second set of data in said data buffer that has been formatted intosaid second data track.
 21. A method in accordance with claim 15,wherein: said first tape transport speed is identical to said secondtape transport speed.
 22. A method in accordance with claim 15, whereinsaid second tape transport speed is slower than said first tapetransport speed.
 23. A method in accordance with claim 15, wherein: saidsecond tape transport speed is faster than said first tape transportspeed.
 24. A method in accordance with claim 16, comprising: measuringsaid current tape transport speed; determining whether said current tapetransport speed is outside a speed control limit; and if said currenttape transport speed is outside said speed control limit, performing thesteps of: setting a third tape transport speed to a speed within saidspeed control limit; adjusting said current tape transport speed to saidthird tape transport speed; and re-recording said track onto saidmagnetic tape at said third tape transport speed.
 25. A method inaccordance with claim 16, comprising: measuring a track pitch, saidtrack pitch comprising the distance between said recorded track and animmediately-previous previously-recorded track; determining whether saidtrack pitch is outside a track pitch control limit; and if said trackpitch is outside said track pitch control limit, performing the stepsof: setting a third tape transport speed to a speed that will place anext measured track pitch within said track pitch control limit;adjusting said current tape transport speed to said third tape transportspeed; and re-recording said track onto said magnetic tape at said thirdtape transport speed.
 26. A method in accordance with claim 15, wherein:said adjusting step comprises: commencing said speed adjustment whensaid rotating drum is positioned such that said recording head is notpositioned over said tape; and completing said speed adjustment beforesaid recording head becomes positioned over said tape.
 27. A method inaccordance with claim 16, comprising: reading back said recorded trackat said second tape transport speed immediately after said recordedtrack is recorded onto said magnetic tape.
 28. A method in accordancewith claim 26, comprising: re-recording said track if said recordedtrack is unreadable.
 29. A method in accordance with claim 15,comprising: reading a track from said magnetic tape at said secondspeed.
 30. A reel tension controller for a tape transport mechanism,said tape transport mechanism comprising a capstan which controls tapetransport, a supply reel and a takeup reel between which a magnetic tapeis transported, comprising: a reel amplifier responsive to a reelamplifier input signal to adjust the tension between said capstan andsaid supply reel and said takeup reel; a controller responsive tocorrect tension parameters, a supply reel radius signal, and a takeupreel radius signal, said controller generating said reel amplifier inputsignal based on said correct tension parameter, said supply reel radiussignal and said takeup reel radius signal.
 31. A method for preventingthe recording of a thin track on a magnetic medium by a magnetic tapedrive, said magnetic tape drive comprising a tape transport mechanismcomprising a supply reel, a takeup reel, a recording head, and a capstanwhich moves a magnetic tape between said supply reel and said takeupreel in a path across said recording head, said capstan comprising acapstan tachometer which maintains a capstan tach count proportional toa number of revolutions of said capstan that have occurred relative to abeginning-of-tape position of said magnetic tape in said drive, saidmethod comprising the steps of: determining a reference position of atrack based upon a current tape speed; measuring a current position ofsaid track based upon said current tach count of said capstan;determining a current track spacing, said current track spacingcomprising the distance between a first track and a second adjacenttrack; calculating a current track spacing error from said referenceposition and said current position; and if said current track spacingerror is below an acceptable track spacing error threshold: setting saidreference position to said current position; setting said current trackspacing error to zero.
 32. A method in accordance with claim 31,comprising the step of: repeating each of said steps periodically.